home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 46
/
Amiga Format CD46 (1999-10-20)(Future Publishing)(GB)[!][issue 1999-12].iso
/
-in_the_mag-
/
synth_studies
/
resgrep03b
/
source
/
res.h
< prev
next >
Wrap
Text File
|
1999-09-15
|
3KB
|
100 lines
/*************************************************************************/
/* MacResourcen */
/* Alle dokumentierten Strukturen des Resource Managers. */
/*-----------------------------------------------------------------------*/
/* 05.02.1992 Andre geschrieben. */
/* 08.02.1992 Andre Aufgeraeumt und umbenannt. */
/* 22.03.1992 Andre an C++ angepaßt. */
/*************************************************************************/
/* Die folgenden Typen muessen die angegebene */
/* Laenge haben! */
typedef char mbyte; /* 1 Byte */
typedef short mshort; /* 2 Byte */
typedef long mlong; /* 4 Byte */
typedef unsigned long Pack; /* 4 Byte gepackt! */
/* Eine Reference List. */
typedef struct MacResIDStr
{
mshort ID; /* Die ID dieser Resource. */
mshort NameOffset; /* Der Offset zum Namen (oder -1). */
mlong Attrs:8; /* Die Attribute dieser Resource. */
mlong DataOffset:24; /* Dort beginnt die Resource. */
mlong privat;
}
MacResID;
/* Ein Resource Type. */
typedef struct MacResTypeStr
{
Pack theResType; /* Der Type der Resource. */
mshort NumberOfResRef; /* Anzahl der Res.Referenzen dieses Typs*/
mshort RefListOffset; /* Hier faengt das Feld der Refs an. */
}
MacResType;
/* Die Typeliste. */
typedef struct MacResFileStr
{
mshort Number; /* Anzahl der Feldeintraege. */
MacResType Type[1]; /* Das Datenfeld. */
}
MacResFile;
/* Der Header einer MAC Resource Datei. */
typedef struct MacResHeaderStr
{
mlong DataOffset; /* Da fangen die Daten im Resourcefile an.*/
mlong MapOffset; /* Da faengt die Resourcemap an. */
mlong DataLength; /* Laenge der Daten. */
mlong MapLength; /* Laenge der Resourcemap. */
}
MacResHeader;
/* Das Aussehen der Resource Daten. */
typedef struct MacResDataStr
{
mlong Length; /* Die Laenge der Daten. */
mbyte Data[1]; /* Die Daten in Feld [0,..,mrd_Length-1]. */
}
MacResData;
/* Die Recource Map. */
/* Private Felder nicht benutzen! */
typedef struct MacResMapHeaderStr
{
MacResHeader privat1;
mlong privat2;
mshort privat3;
mshort Attrs; /* Die Attribute des Files. */
mshort TypeListOffset; /* Offset zur Liste der Resourcetypen. */
mshort NameListOffset; /* Offset zur Liste der Namen. */
}
MacResMapHeader;
/* Die Fileattribute: */
#define resSysHeap 64
#define resPurgeable 32
#define resLocked 16
#define resProtected 8
#define resPreload 4
#define resChanged 2
/* Die Resourcetype Attribute: */
#define mapReadOnly 128
#define mapCompact 64
#define mapChanged 32
/* Dann noch die Fehlercodes: */
#define resNotFound -192
#define resFNotFound -193
#define addResFailed -194
#define rmvResFailed -195
#define resNoMemory -196
#define resToManyFiles -197
#define resFileCorrupted -198